# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

EXPORTS += [
    'png.h',
    'pngconf.h',
    'pnglibconf.h'
]

UNIFIED_SOURCES += [
    'png.c',
    'pngerror.c',
    'pngget.c',
    'pngmem.c',
    'pngpread.c',
    'pngread.c',
    'pngrio.c',
    'pngrtran.c',
    'pngrutil.c',
    'pngset.c',
    'pngtrans.c',
    'pngwio.c',
    'pngwrite.c',
    'pngwutil.c'
]

if CONFIG['CPU_ARCH'] == 'arm':
    DEFINES['MOZ_PNG_USE_ARM_NEON'] = True
    UNIFIED_SOURCES += [
        'arm/arm_init.c',
        'arm/filter_neon_intrinsics.c'
    ]

    SOURCES += [
        'arm/filter_neon.S'
    ]

if CONFIG['INTEL_ARCHITECTURE']:
    DEFINES['MOZ_PNG_USE_INTEL_SSE'] = True
    UNIFIED_SOURCES += [
        'sse2/filter_sse2_intrinsics.c',
        'sse2/intel_init.c'
    ]

Library('mozpng')

if CONFIG['GKMEDIAS_SHARED_LIBRARY']:
    NO_VISIBILITY_FLAGS = True

FINAL_LIBRARY = 'gkmedias'

# We allow warnings for third-party code that can be updated from upstream.
ALLOW_COMPILER_WARNINGS = True

if CONFIG['GNU_CC']:
    CFLAGS += ['-std=c89']
